package com.smartleanx.module.hrm.util.esign.constant;

/**
 * 企业成员角色
 *
 * @author yanglihao
 */
public enum MemberRole {

    /**
     * 普通成员
     */
    NORMAL("1", "普通成员"),

    /**
     * 印章管理员
     */
    SEAL_MANAGER("2", "印章管理员"),

    /**
     * 成员管理员
     */
    MEMBER_MANAGER("3", "成员管理员"),

    /**
     * 模板管理员
     */
    TEMPLATE_MANAGER("4", "模板管理员"),

    /**
     * 企业法定代表人
     */
    LEGAL_PERSON("98", "企业法定代表人"),

    /**
     * 企业管理员
     */
    ADMIN("99", "企业管理员");

    private final String code;
    private final String description;

    MemberRole(String code, String description) {
        this.code = code;
        this.description = description;
    }

    public String getCode() {
        return code;
    }

    public String getDescription() {
        return description;
    }

    public static MemberRole fromCode(String code) {
        for (MemberRole role : values()) {
            if (code.equals(role.getCode())) {
                return role;
            }
        }
        throw new IllegalArgumentException("无效的角色代码: " + code);
    }
}
